home *** CD-ROM | disk | FTP | other *** search
/ Revista CD Expert 8 / Revista CD Expert nº 08 CD1.iso / Utilitarios / Programacao / MS-DOS Interrupt List / inter60c / SMM.LST < prev    next >
File List  |  1999-01-03  |  8KB  |  293 lines

  1. SYSTEM-MANAGEMENT MODE        Release 60        Last change 03jan99
  2. Copyright (c) 1997,1998,1999 Ralf Brown
  3.  
  4. ---------------------------------------------
  5. SMM Am486
  6.  
  7. Format of Am486 SMM State-Save Map:
  8. Offset    Size    Description    (Table S0001)
  9. FE00h        reserved
  10. FEE4h    DWORD    DR3
  11. FEE8h    DWORD    DR2
  12. FEECh    DWORD    DR1
  13. FEF0h    DWORD    DR0
  14. FEF4h    DWORD    CR2
  15. FEF8h    DWORD    SMM state dump base address
  16. fEFCh    DWORD    SMM revision ID (see #S0004)
  17. FF00h    WORD    I/O restart
  18.         (set to 00FFh to re-execute trapped I/O)
  19. FF02h    WORD    halt auto restart
  20.         (bit 0 set on entry if SMI during HLT)
  21.         (set to 00FFh to restart from HLT)
  22. FF04h    DWORD    I/O trap word (see #S0002)
  23. FF08h    DWORD    reserved
  24. FF0Ch    DWORD    reserved
  25. FF10h    DWORD    previous EIP
  26. FF14h 5 DWORDs    ???
  27. FF28h    DWORD    reserved
  28. FF2Ch    DWORD    reserved
  29. FF30h    DWORD    ES limit
  30. FF34h    DWORD    ES base
  31. FF38h    DWORD    ES attributes
  32. FF3Ch    DWORD    CS limit
  33. FF40h    DWORD    CS base
  34. FF44h    DWORD    CS attributes
  35. FF48h    DWORD    SS limit
  36. FF4Ch    DWORD    SS base
  37. FF50h    DWORD    SS attributes
  38. FF54h    DWORD    DS limit
  39. FF58h    DWORD    DS base
  40. FF5Ch    DWORD    DS attributes
  41. FF60h    DWORD    FS limit
  42. FF64h    DWORD    FS base
  43. FF68h    DWORD    FS attributes
  44. FF6Ch    DWORD    GS limit
  45. FF70h    DWORD    GS base
  46. FF74h    DWORD    GS attributes
  47. FF78h    DWORD    LDT limit
  48. FF7Ch    DWORD    LDT base
  49. FF80h    DWORD    LDT attribute
  50. FF84h    DWORD    GDT limit
  51. FF88h    DWORD    GDT base
  52. FF8Ch    DWORD    GDT attribute
  53. FF90h    DWORD    IDT limit
  54. FF94h    DWORD    IDT base
  55. FF98h    DWORD    IDT attribute
  56. FF9Ch    DWORD    TSS limit
  57. FFA0h    DWORD    TSS base
  58. FFA4h    DWORD    TSS attribute
  59. FFA8h    WORD    ES
  60. FFAAh    WORD    unused???
  61. FFACh    WORD    CS
  62. FFAEh    WORD    unused???
  63. FFB0h    WORD    SS
  64. FFB2h    WORD    unused???
  65. FFB4h    WORD    DS
  66. FFB6h    WORD    unused???
  67. FFB8h    WORD    FS
  68. FFBAh    WORD    unused???
  69. FFBCh    WORD    GS
  70. FFBEh    WORD    unused???
  71. FFC0h    DWORD    LDTR
  72. FFC4h    DWORD    TR
  73. FFC8h    DWORD    DR7
  74. FFCCh    DWORD    DR6
  75. FFD0h    DWORD    EAX
  76. FFD4h    DWORD    ECX
  77. FFD8h    DWORD    EDX
  78. FFDCh    DWORD    EBX
  79. FFE0h    DWORD    ESP
  80. FFE4h    DWORD    EBP
  81. FFE8h    DWORD    ESI
  82. FFECh    DWORD    EDI
  83. FFF0h    DWORD    EIP
  84. FFF4h    DWORD    EFLAGS
  85. FFF8h    DWORD    CR3
  86. FFFCh    DWORD    CR0
  87. SeeAlso: #S0003
  88.  
  89. Bitfields for AMD Am486 I/O trap word:
  90. Bit(s)    Description    (Table S0002)
  91.  31-16    I/O address
  92.  15-2    reserved
  93.  1    valid I/O instruction
  94.  0    direction
  95. SeeAlso: #S0001
  96. ---------------------------------------------
  97. SMM AMD-K5
  98.  
  99. Format of AMD K5 SMM State-Save Area:
  100. Offset    Size    Description    (Table S0003)
  101. FE00h        reserved    
  102. FEF8h    DWORD    SMM base address
  103.         (may be set to any multiple of 32K; initially 00030000h)
  104. FEFCh    DWORD    SMM revision identifier (see #S0004)
  105. FF00h    WORD    I/O trap restart slot (see #S0007)
  106. FF02h    WORD    HLT restart slot (see #S0005)
  107. FF04h    DWORD    I/O restart EDI
  108. FF08h    DWORD    I/O restart ECX
  109. FF0Ch    DWORD    I/O restart ESI
  110. FF10h    DWORD    CR4
  111. FF14h    DWORD    CR2
  112. FF18h 3 DWORDs    reserved
  113. FF24h    DWORD    ES limit
  114. FF28h    DWORD    ES base
  115. FF2Ch    DWORD    ES attributes
  116. FF30h    DWORD    CS limit
  117. FF34h    DWORD    CS base
  118. FF38h    DWORD    CS attributes
  119. FF3Ch    DWORD    SS limit
  120. FF40h    DWORD    SS base
  121. FF44h    DWORD    SS attributes
  122. FF48h    DWORD    DS limit
  123. FF4Ch    DWORD    DS base
  124. FF50h    DWORD    DS attributes
  125. FF54h    DWORD    FS limit
  126. FF58h    DWORD    FS base
  127. FF5Ch    DWORD    FS attributes
  128. FF60h    DWORD    GS limit
  129. FF64h    DWORD    GS base
  130. FF68h    DWORD    GS attributes
  131. FF6Ch    DWORD    LDT limit
  132. FF70h    DWORD    LDT base
  133. FF74h    DWORD    LDT attributes
  134. FF78h    DWORD    TSS limit
  135. FF7Ch    DWORD    TSS base
  136. FF80h    DWORD    TSS attributes
  137. FF84h    DWORD    GDT limit
  138. FF88h    DWORD    GDT base
  139. FF8Ch    DWORD    IDT limit
  140. FF90h    DWORD    IDT base
  141. FF94h 2 DWORDs    reserved
  142. FF9Ch    DWORD    I/O trap EIP
  143. FFA0h    DWORD    reserved
  144. FFA4h    DWORD    I/O trap DWORD (see #S0006)
  145. FFA8h    WORD    ES
  146. FFAAh    WORD    unused???
  147. FFACh    WORD    CS
  148. FFAEh    WORD    unused???
  149. FFB0h    WORD    SS
  150. FFB2h    WORD    unused???
  151. FFB4h    WORD    DS
  152. FFB6h    WORD    unused???
  153. FFB8h    WORD    FS
  154. FFBAh    WORD    unused???
  155. FFBCh    WORD    GS
  156. FFBEh    WORD    unused???
  157. FFC0h    DWORD    LDTR
  158. FFC4h    DWORD    TR
  159. FFC8h    DWORD    DR7
  160. FFCCh    DWORD    DR6
  161. FFD0h    DWORD    EAX
  162. FFD4h    DWORD    ECX
  163. FFD8h    DWORD    EDX
  164. FFDCh    DWORD    EBX
  165. FFE0h    DWORD    ESP
  166. FFE4h    DWORD    EBP
  167. FFE8h    DWORD    ESI
  168. FFECh    DWORD    EDI
  169. FFF0h    DWORD    EIP
  170. FFF4h    DWORD    EFLAGS
  171. FFF8h    DWORD    CR3
  172. FFFCh    DWORD    CR0
  173. SeeAlso: #S0001
  174.  
  175. Bitfields for AMD K5 SMM Revision Identifier:
  176. Bit(s)    Description    (Table S0004)
  177.  31-18    reserved (0)
  178.  17    SMM base address relocation available (always 1 [enabled] on K5)
  179.  16    I/O trap restart supported (always 1 on K5)
  180.  15-0    SMM revision level (currently 0000h)
  181. SeeAlso: #S0003
  182.  
  183. Bitfields for AMD K5 Halt Restart Slot:
  184. Bit(s)    Description    (Table S0005)
  185.  15-1    undefined
  186.  0    (on SMM entry) entered SMM from Halt state
  187.     (at RSM) return to Halt state instead of state in SMM state-save area
  188. SeeAlso: #S0003
  189.  
  190. Bitfields for AMD K5 I/O Trap DWORD:
  191. Bit(s)    Description    (Table S0006)
  192.  31-16    I/O port address
  193.  15    I/O was string operation (INS,OUTS,etc.)
  194.  14-2    reserved
  195.  1    valid I/O instruction
  196.  0    direction (0 = output, 1 = input)
  197. SeeAlso: #S0003,#S0007
  198.  
  199. Bitfields for AMD K5 I/O Trap Restart Slot:
  200. Bit(s)    Description    (Table S0007)
  201.  31-16    reserved
  202.  15-0    I/O instruction restart on RSM
  203.     0000h resume at next instruction following trapped I/O instruction
  204.         (default on SMM entry)
  205.     00FFh re-execute the trapped I/O instruction
  206. Note:    before changing the restart value, check that the I/O instruction is
  207.       actually valid (see #S0006)
  208. SeeAlso: #S0003,#S0006
  209. ---------------------------------------------
  210. SMM Pentium
  211.  
  212. Format of Pentium State Dump record:
  213. Offset    Size    Description    (Table S0008)
  214. FE00h 248 BYTEs    officially reserved, actually unused
  215. FEF8h    DWORD    state dump base address (must be multiple of 32K)
  216. FEFCh    DWORD    SMM revision identifier
  217.         bits 15-0: SMM revision level
  218.         bit 16: I/O trap extension is present (offset FF00h)
  219.         bit 17: SMM base relocation supported (offset FEF8h)
  220.         bits 31-18: reserved
  221. FF00h    WORD    I/O Trap restart
  222.         (set to 00FFh to re-execute trapped I/O)
  223. FF02h    WORD    Halt auto-restart
  224.         (bit 0 set on entry if SMI during HLT; if handler clears it,
  225.           the CPU returns to the instruction after the interrupted HLT
  226.           rather than to the HLT instruction)
  227. FF04h    DWORD    (undoc) I/O restart EDI / CR0
  228. FF08h    DWORD    (undoc) I/O restart ECX
  229. FF0Ch    DWORD    (undoc) I/O restart ESI
  230. FF10h    DWORD    (undoc) I/O restart EIP
  231. FF14h 16 BYTEs    unused
  232. FF24h    WORD    (undoc) alternate DR6
  233. FF26h    WORD    (undoc) RSM control
  234.         if bit 0 set on return, the low word of DR6 is loaded from FF26h
  235.           instead of FFCCh
  236. FF28h    DWORD    (undoc) CR4
  237. FF2Ch    DWORD    unused
  238. FF30h 12 BYTEs    (undoc) ES descriptor cache
  239.         DWORD limit
  240.         DWORD base address
  241.         DWORD type
  242. FF3Ch 12 BYTEs    (undoc) CS descriptor cache
  243. FF48h 12 BYTEs    (undoc) SS descriptor cache
  244. FF54h 12 BYTEs    (undoc) DS descriptor cache
  245. FF60h 12 BYTEs    (undoc) FS descriptor cache
  246. FF6Ch 12 BYTEs    (undoc) GS descriptor cache
  247. FF78h 12 BYTEs    (undoc) LDT descriptor cache
  248. FF84h 12 BYTEs    (undoc) GDT descriptor cache
  249. FF90h 12 BYTEs    (undoc) IDT descriptor cache
  250. FF9Ch 12 BYTEs    (undoc) TSS descriptor cache
  251. FFA8h    WORD    ES
  252. FFAAh    WORD    reserved
  253. FFACh    WORD    CS
  254. FFAEh    WORD    reserved
  255. FFB0h    WORD    SS
  256. FFB2h    WORD    reserved
  257. FFB4h    WORD    DS
  258. FFB6h    WORD    reserved
  259. FFB8h    WORD    FS
  260. FFBAh    WORD    reserved
  261. FFBCh    WORD    GS
  262. FFBEh    WORD    reserved
  263. FFC0h    DWORD    LDTR
  264. FFC4h    DWORD    TR
  265. FFC8h    DWORD    DR7
  266. FFCCh    DWORD    DR6
  267. FFD0h    DWORD    EAX
  268. FFD4h    DWORD    ECX
  269. FFD8h    DWORD    EDX
  270. FFDCh    DWORD    EBX
  271. FFE0h    DWORD    ESP
  272. FFE4h    DWORD    EBP
  273. FFE8h    DWORD    ESI
  274. FFECh    DWORD    EDI
  275. FFF0h    DWORD    EIP
  276. FFF4h    DWORD    EFLAGS
  277. FFF8h    DWORD    CR3
  278. FFFCh    DWORD    CR0
  279. SeeAlso: #S0003
  280. --------!---Admin----------------------------
  281. Highest Table Number = S0008
  282. --------!---FILELIST-------------------------
  283. Please redistribute all of the files comprising the interrupt list (listed at
  284. the beginning of the list and in INTERRUP.1ST) unmodified as a group, in a
  285. quartet of archives named INTER60A through INTER60D (preferably the original
  286. authenticated PKZIP archives), and the utility and hypertext conversion
  287. programs in three additional archives called INTER60E.ZIP to INTER60G.ZIP.
  288.  
  289. Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999 Ralf Brown
  290. --------!---CONTACT_INFO---------------------
  291. Internet: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)
  292. FIDO: Ralf Brown 1:129/26.1
  293.